package org.dormi.learn;

/**
 * AppClassLoader 应用 类加载器
 * AppClassLoader 有个父亲(类属性) ExtClassLoader
 * AppClassLoader的 父类 是 URLClassLoader
 * @author : dormi330
 * @since : 22/04/21
 */
public class ClassLoaderDemo03 {
    public static void main(String[] args) {
        /*
         * AppClassLoader
         * 加载 -Djava.class.path 选项指定的目录
         * 主要用于加载程序中的类, 以及引用到的第三方类文件
         *
         * 类加载器:
         * 如果某个类已被加载, 则再碰到此类就不再加载
         */
        System.out.println(ClassLoaderDemo03.class.getClassLoader());
        // sun.misc.Launcher$AppClassLoader@73d16e93
        System.out.println(ClassLoaderDemo03.class.getClassLoader().getParent());
        // sun.misc.Launcher$ExtClassLoader@15db9742
        String paths = System.getProperty("java.class.path");
        String[] arr = paths.split(";"); // windows ;  linux :
        for (String s : arr) {
            System.out.println(s);
        }
    }
}

/*
不要用ide执行, 用命令行执行

D:\portal\jdk1.8.0_181\bin\java.exe -classpath E:\workspace\java_basic\class_loader\01_main\target\classes org.dormi.learn.ClassLoaderDemo03

输出如下

sun.misc.Launcher$AppClassLoader@73d16e93
sun.misc.Launcher$ExtClassLoader@15db9742
E:\workspace\java_basic\class_loader\01_main\target\classes
*/
